package com.example.compsedemo

import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.Composable
import androidx.compose.unaryPlus
import androidx.ui.core.Text
import androidx.ui.core.TextUnit
import androidx.ui.core.dp
import androidx.ui.core.setContent
import androidx.ui.graphics.Color
import androidx.ui.layout.Column
import androidx.ui.layout.Spacing
import androidx.ui.material.Button
import androidx.ui.material.MaterialTheme
import androidx.ui.material.withOpacity
import androidx.ui.text.ParagraphStyle
import androidx.ui.text.TextStyle
import androidx.ui.text.font.FontStyle
import androidx.ui.text.style.TextAlign
import androidx.ui.text.style.TextOverflow

class MainActivity : AppCompatActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        //  setContentView(R.layout.activity_main)
        setContent {
            MaterialTheme {
                setView("JetPack Compose")
            }
        }
    }

    @Composable
    private fun setView(s: String) {
        val intent = Intent(this, ComPoseListActivity::class.java)
        //列显示
        Column {
            //1.简单的Text使用
            Text(
                text = "1.简单的Text控件使用"
            )
            //2.控件颜色、字体大小、显示行数、超出处理
            Text(
                text = "2.使用自定义Style使用自定义Style使用自定义Style使用自定义Style使用自定义Style使用自定义Style使用自定义Style使用自定义Style使用自定义Style",
                overflow = TextOverflow.Ellipsis,
                maxLines = 1,
                style = TextStyle(
                    Color.Red,
                    fontSize = TextUnit.Companion.Sp(12f),
                    fontStyle = FontStyle.Italic
                )
            )
            //3.使用系统自带样式
            Text(
                text = "3.使用系统自带样式",
                overflow = TextOverflow.Ellipsis,
                maxLines = 1,
                style = ((+MaterialTheme.typography()).subtitle1.copy()).copy(Color.Green),
                modifier = Spacing(6.dp)
            )
            //4.使用系统自带样式，通过copy讲颜色改成蓝色
            Text(
                text = "4.使用系统自带样式，通过copy属性将颜色改成蓝色",
                overflow = TextOverflow.Ellipsis,
                maxLines = 1,
                style = ((+MaterialTheme.typography()).subtitle1.copy()).copy(Color.Blue)
            )
            //5.使用段落属性
            Text(
                text = "5.用段落属性，设置行高用段落属性，设置行高用段落属性",
                overflow = TextOverflow.Ellipsis,
                maxLines = 2,
                style = ((+MaterialTheme.typography()).body2.copy()).withOpacity(0.87f)
                    .copy(Color.Red),
                paragraphStyle = ParagraphStyle(
                    textAlign = TextAlign.Center,
                    lineHeight = TextUnit.Sp(32)
                )
            )

            Button(
                onClick = {
                    startActivity(intent)
                }
            ) {
                Text(
                    text = "进入列表"
                )
            }
        }
    }
}